package com.jt.controller;

import com.jt.pojo.ItemCat;
import com.jt.service.ItemCatService;
import com.jt.vo.SysResult;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.web.bind.annotation.*;

import java.util.List;
//商品分类
@RestController
@CrossOrigin
@RequestMapping("/itemCat")
public class ItemCatController {

    @Autowired
    private ItemCatService itemCatService;

    /**
     * 需求：查询三级商品分类的信息
     * URL地址：/itemCat/findItemCatList/{level}
     */

    @GetMapping("/findItemCatList/{level}")
    public SysResult findItemCatList(@PathVariable Integer level){

       List<ItemCat> catList = itemCatService.findItemCatList(level);
       return SysResult.success(catList);
    }

    /**
     * 业务需求：
     *    实现商品分类新增
     *    URL:/itemCat/saveItemCat
     *    参数： JSON串
     *    提交方式：post
     *    返回值：SysResult对象
     *
     */

    @PutMapping("/saveItemCat")
    public SysResult saveItemCat(ItemCat itemCat){
        itemCatService.saveItemCat(itemCat);
        return SysResult.success();
    }

    /**
     * 业务需求：删除商品分类数据
     *    当删除节点为父级时,应该删除自身和所有的子节点
     * URL： /itemCat/deleteItemCat
     * 请求类型：delete
     * 参数： id/level
     * 返回值：SysResult对象
     *
     */

    @DeleteMapping("/deleteItemCat")
    public SysResult deleteItemCat(ItemCat itemCat){
        itemCatService.deleteItemCat(itemCat);
        return SysResult.success();
    }

    /**
     * 业务说明：
     *        修改商品分类状态
     * URL：/itemCat/status/{id}/{status}
     * 请求类型：put
     * 请求参数：id/status
     * 返回值：SysResult对象
     */

    @PutMapping("/status/{id}/{status}")
    public SysResult status( ItemCat itemCat){
        itemCatService.status(itemCat);
        return SysResult.success();
    }

    /**
     * 业务需求：
     *      商品分类修改
     * URL：/itemCat/updateItemCat
     * 请求类型：put
     * 请求参数: 表单数据 ItemCat对象
     * 返回值: SysResult对象
     */

    @PutMapping("/updateItemCat")
    public SysResult updateItemCat(@RequestBody ItemCat itemCat){
        itemCatService.updateItemCat(itemCat);
        return SysResult.success();
    }



}

































